/*Evitando
multiplas instâncias de um programa
Usando a função API CreateMutex(
), você pode evitar que o
programa seja executado mais de uma vez ao mesmo tempo.*/
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
HANDLE hInstanceMutex = ::CreateMutex(NULL,TRUE, "PROJECT1");
if(GetLastError() == ERROR_ALREADY_EXISTS)
{
// Pode ser incluido
um aviso aqui se quiser.
if(hInstanceMutex) CloseHandle(hInstanceMutex);
return 0;
}
try
{
Application->Initialize();
Application->CreateForm(__classid(TForm1), &Form1);
Application->Run();
}
catch (Exception
&exception)
{
Application->ShowException(&exception);
}
ReleaseMutex(hInstanceMutex);
CloseHandle(hInstanceMutex);
return 0;
}
|